#include <stdio.h>
#include <stdlib.h>

#define SIZE	100
typedef struct Lnode{
	int data;
	struct Lnode* next;
}Lnode;

Lnode* CreatList_H(Lnode* L,int n)
{
	Lnode* p;
	int i;
	L =(Lnode*)malloc(sizeof(Lnode)*SIZE);
	L->next =NULL;
	for(i =n;i>0;--i)
	{
		p =(Lnode*)malloc(sizeof(Lnode));
		scanf_s("%d",&p->data);
		p->next =L->next;
		L->next =p;
	}
	return L;
}

Lnode* CreatList_R(Lnode* L,int n)
{
	Lnode* r,*p;
	int i;
	L =(Lnode*)malloc(sizeof(Lnode)*SIZE);
	L->next =NULL;
	r =L;
	for(i =0;i<n;i++)
	{
		p =(Lnode*)malloc(sizeof(Lnode)*SIZE);
		scanf_s("%d",&p->data);
		p->next =NULL;
		r->next =p;
		r =p;
	}
	return L;
}

void InsertNode(Lnode* L,int i,int Value)
{
	Lnode* p,*new_node;
	int j; j =0;
	p =L;
	while(p&&j<i-1)
	{
		p =p->next;
		++j;
	}
	new_node =(Lnode*)malloc(sizeof(Lnode)*SIZE);
	new_node->data =Value;
	new_node->next =p->next;
	p->next =new_node;
}

void DeleteNode(Lnode* L,int i)
{
	Lnode* p,*q;
	int j; j =0;
	p =L;
	while(p&&j<i-1)
	{
		p =p->next;
		++j;
	}
	q =p->next;
	p->next =q->next;
	free(q);
}

void EchoList(Lnode* L)
{
	while(L)
	{
		L =L->next;
		printf("%d ",L->data);
	}
}

int main(void)
{
	Lnode* l;
	l =CreatList_H(l,4);
	//EchoList(l);
	//printf("\n");
	DeleteNode(l,3);
	EchoList(l);
	while(1);
	return 0;
}